Skip to content

FT0: Use dead channel map in digitizer#12340

Merged
shahor02 merged 2 commits into
AliceO2Group:devfrom
andreasmolander:fitSim
Dec 1, 2023
Merged

FT0: Use dead channel map in digitizer#12340
shahor02 merged 2 commits into
AliceO2Group:devfrom
andreasmolander:fitSim

Conversation

@andreasmolander

Copy link
Copy Markdown
Collaborator

Enables the use of the dead channel map from CCDB in the FT0 digitizer as default. Hits in dead channels will not be processed. To disable checking the dead channel map, pass --FT0Digitizer --disable-dead-channel-map to the digitizer workflow.

Enables the use of the dead channel map from CCDB in the FT0 digitizer as default.
Hits in dead channels will not be processed. To disable checking the dead channel map,
pass `--FT0Digitizer --disable-dead-channel-map` to the digitizer workflow.
@andreasmolander

andreasmolander commented Nov 28, 2023

Copy link
Copy Markdown
Collaborator Author

I want to set the dead channel map as an InputSpec for the digitizer. I also want to be able to disable its use with a command line argument (to the digitizer), and I want this argument to be an option of the FT0 digitizer task and not the "global" digitizer task, just to not touch the global task and keep it clean.

In case the dead channel map is disabled, should I also disable the InputSpec (CCDBParamSpec)? Or is it enough to set query rate to -1? When used, the map should be fetched only once. As the disabling is a parameter of the FT0 task, which is defined at the same time as the input specs to the task, I'm not sure how to make the InputSpec conditional. My question is in other words, does it hurt to always fetch the map (with query rate = -1), no matter if it's used or not? (Basically it should never not be used.)

@andreasmolander

Copy link
Copy Markdown
Collaborator Author

Btw, the naming of the use-ccdb-ft0 option in SimpleDigitizerWorkflow.cxx, is now very misleading. This only enables time offset decalibration (it should be renamed to something like that). Dead channel map obviously uses CCDB, but right now I wanted to touch as little as possible, so we will unify and rename parameters later I think. (The dead channel map disabling parameter is however "future proof" in the sense that this could always be there, no matter how we clean up things later)

arvindkhuntia
arvindkhuntia previously approved these changes Nov 29, 2023
Enables the use of the dead channel map from CCDB in the FDD digitizer as default. Hits in dead channels will not be processed. To disable checking the dead channel map, pass --FDDDigitizer --disable-dead-channel-map to the digitizer workflow.
@andreasmolander

Copy link
Copy Markdown
Collaborator Author

I included the same changes for FDD. I also noticed that finaliseCCDB of FT0/FDDDigitizerSpec.cxx is not used for anything, right? (I took it from some existing implementation.) The updating of the dead channel map could be disabled right after initializing it instead, but for now I trust query rate of -1 is enough to not fetch it too often.

@shahor02 shahor02 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment below is just of the record, the failures are unrelated, merging.

Comment on lines +88 to +89
auto deadChannelMap = pc.inputs().get<o2::fit::DeadChannelMap*>("fdddeadchannelmap");
mDigitizer.setDeadChannelMap(deadChannelMap.get());

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will work, but the good way of setting the ccdb object is to just call here

if (mUpdateDeadChannelMap && mUseDeadChannelMap) {
  mDigitizer.setDeadChannelMap(deadChannelMap.get());
}

and at https://github.com/AliceO2Group/AliceO2/pull/12340/files#diff-805a3dc073d4a3b3a39103b840d1ca9560089a7a03ff59878d6ad06a51b2cab3R62 to do

    if (matcher == ConcreteDataMatcher("FDD", "DeadChannelMap", 0)) {
      mUpdateDeadChannelMap = false;
      mDigitizer.setDeadChannelMap((const o2::fit::DeadChannelMap*)obj);
    }

@shahor02 shahor02 merged commit d0913a7 into AliceO2Group:dev Dec 1, 2023
andreasmolander added a commit to andreasmolander/AliceO2 that referenced this pull request Apr 12, 2024
* FT0: Use dead channel map in digitizer

Enables the use of the dead channel map from CCDB in the FT0 digitizer as default.
Hits in dead channels will not be processed. To disable checking the dead channel map,
pass `--FT0Digitizer --disable-dead-channel-map` to the digitizer workflow.

* FDD: Use dead channel map in digitizer

Enables the use of the dead channel map from CCDB in the FDD digitizer as default. Hits in dead channels will not be processed. To disable checking the dead channel map, pass --FDDDigitizer --disable-dead-channel-map to the digitizer workflow.
mwinn2 pushed a commit to mwinn2/AliceO2 that referenced this pull request Apr 25, 2024
* FT0: Use dead channel map in digitizer

Enables the use of the dead channel map from CCDB in the FT0 digitizer as default.
Hits in dead channels will not be processed. To disable checking the dead channel map,
pass `--FT0Digitizer --disable-dead-channel-map` to the digitizer workflow.

* FDD: Use dead channel map in digitizer

Enables the use of the dead channel map from CCDB in the FDD digitizer as default. Hits in dead channels will not be processed. To disable checking the dead channel map, pass --FDDDigitizer --disable-dead-channel-map to the digitizer workflow.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants